package com.newtouch.bxzs.enterprise.service;

import com.newtouch.bxzs.enterprise.model.bo.BankCustomerAnalysisBO;
import com.newtouch.bxzs.enterprise.model.bo.CustomerBO;
import com.newtouch.bxzs.enterprise.model.bo.PersonalCustomerBO;
import com.newtouch.bxzs.enterprise.model.vo.CustomerAnalysisVO;
import com.newtouch.bxzs.enterprise.model.vo.CustomerVO;
import com.newtouch.bxzs.enterprise.model.vo.PersonalCustomerVO;
import com.newtouch.bxzs.enterprise.model.bo.InsuranceCustomerAnalysisBO;

import java.util.List;

/**
 * 个人客户业务层
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2020/12/22 10:38</td>
 * <td>lingshouyi</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author lingshouyi
 * @version 1.0.0
 * @since 1.0.0
 */
public interface PersonalCustomerService {

    /**
     * 查询个人客户
     *
     * @param customerVO 查询条件
     * @return 个人客户BO
     */
    CustomerBO getCustomerList(CustomerVO customerVO);

    /**
     * 查看个人客户详情信息
     *
     * @param customerId 客户ID
     * @return 个人客户BO
     */
    PersonalCustomerBO getPersonalCustomerDetail(String customerId);

    /**
     * 增加/修改个人客户信息
     *
     * @param personalCustomerVO 查询条件
     */
    String modifyPersonalCustomer(PersonalCustomerVO personalCustomerVO);

    /**
     * 逻辑删除个人客户信息
     *
     * @param customerIds 客户id集合
     */
    String deletePersonalCustomer(List<String> customerIds);

    /**
     * 查看保险客户分析信息
     *
     * @param customerAnalysisVO 客户分析信息查询VO
     * @return 保险客户分析信息返回BO
     */
    InsuranceCustomerAnalysisBO getInsuranceCustomerAnalysisInformation(CustomerAnalysisVO customerAnalysisVO);

    /**
     * 查看银行客户分析信息
     *
     * @param customerAnalysisVO 客户分析信息查询VO
     * @return 银行客户分析信息返回BO
     */
    BankCustomerAnalysisBO getBankCustomerAnalysisInformation(CustomerAnalysisVO customerAnalysisVO);
}
